package org.eiahe.hr.training.service;

import org.eiahe.hr.training.domain.vo.HrTrainingRecordVo;
import org.eiahe.hr.training.domain.bo.HrTrainingRecordBo;
import org.ehe.common.mybatis.core.page.PageQuery;
import org.ehe.common.mybatis.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 培训记录Service接口
 *
 * @author zhangnn
 */
public interface IHrTrainingRecordService {

    /**
     * 查询培训记录
     */
    HrTrainingRecordVo queryById(Long recordId);

    /**
     * 查询培训记录列表
     */
    TableDataInfo<HrTrainingRecordVo> queryPageList(HrTrainingRecordBo bo, PageQuery pageQuery);

    /**
     * 查询培训记录列表
     */
    List<HrTrainingRecordVo> queryList(HrTrainingRecordBo bo);

    /**
     * 新增培训记录
     */
    Boolean insertByBo(HrTrainingRecordBo bo);

    /**
     * 修改培训记录
     */
    Boolean updateByBo(HrTrainingRecordBo bo);

    /**
     * 批量删除培训记录
     */
    Boolean deleteByIds(Collection<Long> recordIds);

    /**
     * 批量导入培训记录
     */
    String importTrainingRecord(List<HrTrainingRecordVo> list, Boolean updateSupport);

    /**
     * 导出培训记录
     */
    List<HrTrainingRecordVo> exportTrainingRecord(HrTrainingRecordBo bo);

    Boolean completeCourseDetail(Long courseId);

    /**
     * 判断当前用户是否已经完成学习
     * @param courseId
     * @param userId
     * @return
     */
    Boolean completeCourseByCourseIdAndEmpId(Long courseId, Long userId);
}
